home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-09-18 | 1.0 KB | 63 lines | [TEXT/PJMM] |
- program main;
-
- uses
- ErrSignal;
-
- var
- mainCatch: Integer;
-
- procedure TestProc;
- var
- catch: Integer;
-
- procedure SubProc;
- var
- dummy: Integer;
- begin
- dummy := 1;
- writeln('entering SubProc');
- SignalWhen(99, False);
- SignalUnless(98, True);
- SignalWhen(1, True);
- end;
-
- procedure Handler;
- var
- sigRA: Ptr;
- begin
- sigRA := Ptr(IdentifySignaller);
- writeln('entering Handler');
- writeln('Catch ', catch);
- writeln('Signaller RA ', sigRA);
- SignalHandlerDone;
- Exit(TestProc);
- end;
-
- begin
- writeln('entering TestProc');
- catch := CatchSignal;
- if catch <> 0 then
- Handler;
- writeln('catch established in TestProc');
- SubProc;
- end;
-
- procedure Caller1;
- var
- dummy: Integer;
- begin
- dummy := 1;
- TestProc;
- end;
-
- var
- oldLevel: Integer;
-
- begin { main }
- ShowText;
- InitSignals(sigFail);
- mainCatch := CatchSignal; {Without this - we never return from test Proc - Why?}
- oldLevel := SignalDebugLevel(1); {Break into the low-level debugger only while in project}
- Caller1;
- writeln('returned to main');
- end.